var maps = [
  // Level 0
  { items : 'bb',
    map : 'wwwwwwwwwwwwwwww'+
          'w   w     w    w'+
          'w   w  g  w    w'+
          'w   w     w    w'+
          'w   www www    w'+
          'w            hhh'+
          'w           hh w'+
          'w              w'+
          'w              w'+
          'w  wwwwwwwww   w'+
          'w  w       w   w'+
          'w  w   G   w   w'+
          'w  w wwwww w   w'+
          'w              w'+
          'w              w'+
          'wwwwswwwwwswwwww' },

  // Level 1
  { items : 'bbr',
    map : 'wwwwwwwwwwwwwwww'+
          'w   w     w    w'+
          'w   w  g  w    w'+
          'w   w     w    w'+
          'w   www www    w'+
          'w            hhh'+
          'w           hh w'+
          'w           h  w'+
          'w       hh  h  w'+
          'w   wwhhhhhh   w'+
          'w   w    h     w'+
          's   w  G hhw   w'+
          'w   w      w   w'+
          'w   wwwwwwww   w'+
          'w              w'+
          'wwwwswwwwwwswwww' },

  // Level 2
  { items : 'rrb',
    map : 'wwwwwwwwwwwwwwww'+
          'w   w     w    w'+
          'w   w  G  w    w'+
          's   w     w  C w'+
          'w   www www    w'+
          'w            hhh'+
          'w           hh w'+
          'w           h  w'+
          'w       hh  h  w'+
          'w   whhhhhhh   w'+
          'w   hh   h   c w'+
          's  hh  g hhh   w'+
          'w  hw      w   w'+
          'w   wwwwwwww   w'+
          'w              w'+
          'wwwwswwwwwwswwww' },

  // Level 3
  { items : 'tT',
    map : 'wwwwwwwwwwwwwwww'+
          'w   w     w    w'+
          'w   w  c  w    w'+
          's   w     w    w'+
          'w   www www    w'+
          'w            hhh'+
          'w           hh w'+
          'w           h  w'+
          'w       hh  h  w'+
          'w    hhhhhhh   w'+
          'wh  hh   h     w'+
          'hhhhh  G hhh   w'+
          'w  hw      w   w'+
          'w              w'+
          'w              w'+
          'wwwwswwwwwwswwww' },

  // Level 4
  { items : 'rrrS',
    map : 'wwwwwwwwwwwwwwww'+
          'w   w     w    w'+
          'w   w  c  w    w'+
          's   w     w    w'+
          'w   www www    w'+
          'w              h'+
          'w           hhhh'+
          'w           hh w'+
          'w       hh  h  w'+
          'wh  hhhhhhhh   w'+
          'whhhhh   hh    w'+
          'hhhhh  G hh    w'+
          'w  hw     hw   w'+
          'w              w'+
          'w              w'+
          'wwwwswwwwwwswwww' },
];

// Map contents:
var map = maps[0].map;
var current_map = 0;

function flipSwitch() {
  for (var y = 0; y < map_height; ++y) {
    for (var x = 0; x < map_width; ++x) {
      if (map[y * map_width + x] == 'g') {
        setTile(x, y, 'G');
      } else if (map[y * map_width + x] == 'G') {
        setTile(x, y, 'g');
      } else if (map[y * map_width + x] == 'c') {
        setTile(x, y, 'C');
      } else if (map[y * map_width + x] == 'C') {
        setTile(x, y, 'c');
      }
    }
  }
}

function nextMap() {
  if (current_map < maps.length - 1) {
    ++current_map;

    // Reset powerups.
    for (var i = 0; i < inventory.length; ++i) {
      inventory[i].count = 0;
    }
    for (var i = 0; i < maps[current_map].items.length; ++i) {
      for (var j = 0; j < inventory.length; ++j) {
        if (inventory[j].tile == maps[current_map].items[i]) {
          ++inventory[j].count;
        }
      }
    }
    drawButtons();
    next_level *= 2;
    drawScoreboard();
    head_mouse = null;

    map = maps[current_map].map;
  }
}
